/**************************************************************************************
*
*	Copyright (C) 2009 - 2012 Brent Andrew O. Chua - See LICENSE.txt for more info.
*		
*	Filename	-	ParameterTexture2D.h
*
*	Description -	.
*
*	Comments	-	WARNING! THIS WILL BE DEPRECATED! WE'LL BE USING ParameterShaderResource
*	Modification History:
*			Name			   Date					Description
*			MrCodeSushi	-	09/29/2012	-	Creation of this file
**************************************************************************************/
#ifndef _PSX_PARAMETER_TEXTURE_2D_H_
#define _PSX_PARAMETER_TEXTURE_2D_H_

#include "PulseSTD.h"
#include "IParameter.h"

namespace Pulse
{
	class ParameterTexture2D : public IParameter
	{
	public:

		ParameterTexture2D( void );

		ParameterTexture2D( ParameterTexture2D &rhs );

		virtual ~ParameterTexture2D( void ) { }

		virtual void SetData( void *pData ) { m_pTexture = (Texture2D*)pData; IncrementChangeValue(); }

		virtual void SetData( IParameter *pParam );

		void SetTexture( Texture2D *pTexture ) { m_pTexture = pTexture; IncrementChangeValue(); }

		virtual EParameter::Type GetType( void ) const { return EParameter::TEXTURE2D; }

	private:

		Texture2D *m_pTexture;

	};
}

#endif /* _PSX_PARAMETER_TEXTURE_2D_H_ */